package Dominio;

import hbt.PersistentObject;

import java.util.ArrayList;
import java.util.Date;
import java.util.List;










import javax.persistence.*;

import dto.ItemDescuentoTO;
import dto.ListaDescuentosTO;

@Entity
@Table(name="lista_descuentos")
public class ListaDescuentos extends PersistentObject {
	
	private static final long serialVersionUID = 1L;

	@OneToMany(cascade=CascadeType.ALL)
	@JoinColumn(name="idListaDeDescuento")
	private List <ItemDescuento> itemsDescuento;
	
	@Column(name = "fechaVigencia")
	@Temporal(TemporalType.DATE)
	private Date fechaVigencia;

	@ManyToOne
	@JoinColumn(name="idProveedor")
	private Proveedor proveedor;

	
	
	//GET AND SET
	public List<ItemDescuento> getItemDescuento() {
		return itemsDescuento;
	}

	public void setItemDescuento(List<ItemDescuento> itemDescuento) {
		this.itemsDescuento = itemDescuento;
	}

	public Date getVigencia() {
		return fechaVigencia;
	}
	public void setVigencia(Date vigencia) {
		this.fechaVigencia = vigencia;
	}

	public ListaDescuentosTO toTO() {
		List<ItemDescuentoTO> itemsTO = new ArrayList<ItemDescuentoTO>();
		for(ItemDescuento id : this.itemsDescuento){
			ItemDescuentoTO idt = new ItemDescuentoTO(id.getRodamiento().toTO(), id.getDescuento(), id.getListaDeDescuentos().toTO());
			itemsTO.add(idt);
		}
		
		return new ListaDescuentosTO(fechaVigencia, itemsTO, proveedor.toTO());
	}
	
	
	
}
